#!/bin/bash

# 测试数据点数值标签隐藏功能的脚本

echo "=== 测试数据点数值标签隐藏功能 ==="

# 1. 检查datalabels配置
echo "1. 检查datalabels配置..."
if grep -q "datalabels.*display: false" src/main/resources/static/js/app.js; then
    echo "✓ 数据点数值标签已设置为不显示"
else
    echo "✗ 数据点数值标签配置未找到"
fi

# 2. 检查Chart.js datalabels插件注册
echo -e "\n2. 检查Chart.js datalabels插件..."
if grep -q "Chart.register.*ChartDataLabels" src/main/resources/static/js/app.js; then
    echo "✓ ChartDataLabels插件已注册"
else
    echo "✗ ChartDataLabels插件注册未找到"
fi

# 3. 检查所有故障分布图配置
echo -e "\n3. 检查所有故障分布图配置..."
datalabels_count=$(grep -c "datalabels.*display: false" src/main/resources/static/js/app.js)
echo "找到 $datalabels_count 个datalabels配置"

if [ $datalabels_count -ge 2 ]; then
    echo "✓ 所有故障分布图都已配置datalabels隐藏"
else
    echo "✗ 部分故障分布图可能未配置datalabels隐藏"
fi

# 4. 显示配置摘要
echo -e "\n4. 数据点数值标签配置摘要："
echo "• 数据点数值标签: 不显示 (datalabels.display: false)"
echo "• 坐标轴刻度值: 不显示 (ticks.display: false)"
echo "• 坐标轴线条: 显示 (display: true)"
echo "• 网格线: 显示 (color: rgba(255, 255, 255, 0.1))"
echo "• Tooltip: 启用，鼠标悬停时显示详细信息"

# 5. 启动应用测试
echo -e "\n5. 启动应用进行测试..."
echo "请执行以下步骤："
echo "1. 启动应用程序: ./start.sh"
echo "2. 打开浏览器访问: http://localhost:8080"
echo "3. 点击任意机器查看详情"
echo "4. 观察故障分布图："
echo "   - 数据点上不应该显示任何数值标签"
echo "   - 坐标轴上不应该显示刻度值"
echo "   - 应该能看到坐标轴线条和网格线"
echo "   - 鼠标悬停在数据点上时应该显示tooltip"
echo "   - tooltip应该显示位置和故障类型信息"

# 6. 测试HTML页面
echo -e "\n6. 测试独立HTML页面..."
if [ -f "test-flaw-chart.html" ]; then
    echo "✓ 测试页面存在，可以在浏览器中打开查看效果"
    echo "   - 打开 test-flaw-chart.html"
    echo "   - 观察数据点是否没有数值标签"
else
    echo "✗ 测试页面不存在"
fi

echo -e "\n=== 测试完成 ==="
echo "数据点数值标签隐藏功能已配置，故障分布图现在更加简洁"

